1. Field of the Invention
The present invention relates to systems and methods for protecting computers and software applications from unauthorized use or disclosure, and in particular to a system and method for protecting a computer and related subsystems from tampering during boot-up.
2. Description of the Related Art
Desktop computers typically store operating system information in an attached hard disk drive. Since the operating system software is stored on a hard drive, and the hard drive cannot be read until the operating system is operational, personal computer (PC) include an essential set of routines, known as a Basic Input Output System (BIOS), which is typically stored on a chip, to provide a temporary interface between the operating system and the computer hardware. The BIOS supports all peripheral technologies and internal services such as the realtime clock (time and date). On startup, the BIOS tests the system and prepares the computer for operation by querying its own small CMOS memory bank (typically kept active using a small battery) for drive and other configuration settings. It searches for other BIOS's on the plug-in boards and sets up pointers (interrupt vectors) in memory to access those routines. It then loads the operating system and passes control to it. The BIOS accepts requests from the drivers as well as the application programs.
Because most protection schemes are implemented in the operating system or other applications that are not active until the bootup sequence is completed, computers can be especially vulnerable to hacking during the bootup sequence.
Most BIOS include password protection to protect the computer from unauthorized access and compromise of its security features. However, this password protection has several drawbacks. First, it can be reset by removing the battery providing power to the CMOS chip implementing the BIOS software. Second, it does not protect potentially sensitive data stored on the hard drive itself.
The ATA3 (AT Attachment, version 3) specification allows hard drives to be password protected, but few BIOS use this feature. Chip manufacturers such as INTEL have implemented protection access architectures (PAAs) to protect computers at the BIOS level, but it requires not only the BIOS but the computer to have some form of protected storage. Further, PAAs use tokens, biometric input or entered passwords simply as a trap to determine if the boot process should continue (typically by checking for the presence of a “secret”). If the correct input is provided, the BIOS simply proceeds to the next instruction. This occurs before the BIOS attempts to start the operating system. Another difficulty with this technique is that it requires changes to the BIOS code. Existing computers would require the BIOS to be updated or replaced.
There are software-based pre-boot authentication products, which use either biometrics or software to replace the boot sequence, via the master boot record (MBR) on the hard drive, but without full drive encryption, the data on the hard drive remains unprotected.
Computers may be booted from a floppy drive, but many computers, including many laptops, are no longer supplied with internal floppy disk drives. Further, floppy disks can be compromised if lost (the ATA-3 password must still be protected). Finally, floppy disks are prone to failure and wear and consumers regard booting from floppy disk drives as an inconvenience.
What is needed is a system for protecting sensitive information on the computer during boot up operations. The present invention satisfies that need.